Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

alcune funzioni

Tutte le funzioni in ordine alfabetico del Perl
Tutte le funzioni in ordine alfabetico del Perl
Link copiato negli appunti

Le cosiddette "builtin functions" sono i normali 'comandi' del perl, che accettano argomenti, fanno qualcosa a livello degli argomenti o di sistema, e danno in ritorno dei valori. Per informazioni più dettagliate, si veda "man perlfunc".
Molte funzioni non hanno bisogno di argomenti tra (), ma nelle operazioni più complicate le parentesi tonde sono necessarie per chiarire cosa è riferito a cosa. Tipicamente, quindi, le () si evitano nelle linee più semplici, come print $bleah; , ma devono essere incluse quando c'è più di una funzione che viene invocata nella stessa dichiarazione.

Le dichiarazioni in perl terminano sempre con il segno ;

Funzioni (in ordine alfabetico):

  • atan2

  • binmode
    binmode FILE;

  • chdir

  • chmod
    Il valore di uscita è false se è 0 o '', true in qualsiasi altro caso:

    chmod 0644, "README", "INSTALL";

    @list = ( "abc", "def", "ghi")
    chmod 755, @list;

  • chop
    $b = chop($a);

    Nella maggior parte dei casi, non ci interessa il valore restituito, quindi basta semplicemente dare:

    chop $a;

    oppure solamente:

    chop;

    che opera con $_ . Si noti che, ai nostri fini, chomp è equivalente a chop.

  • chown

    oppure

    chown $uid, $gid, 'file1', 'file2' ...... ;

  • cos
  • do

    Un'utile implementazione di "do" può essere quella di ripetere una porzione dicodice finchè una certa condizione sia verificata. Vediamo come:

    do {
    print "Scegli 1 o 2n";
    chop($sel=<StdIN>);
    until " 1 2 " =~ / $sel /;
    if ($sel == '1') {
    print "Hai scelto 1n";
    } elsif ($sel == '2') {
    print "Hai scelto 2n";
    }

    In pratica, questo script visualizza "hai scelto 1" o "hai scelto 2" a seconda del tasto premuto dall'utente, a meno che questi abbia premuto qualsiasi altro tasto: in questo caso, lo script si disinteressa del tasto premuto e continua a visualizzare "Scegli 1 o 2". A cosa può servire tutto questo? Semplice: togliete da questo script le prime quattro linee e premete "3" quando vi viene chiesto di scegliere 1 o 2: lo script si blocca ed esce: non succede niente di male, sia chiaro, ma se avete uno script di qualche centinaio di righe che si blocca per una simile piccolezza, la cosa può dare fastidio.

  • die
    die "Non è 18n";
    }

  • eval

    eval `cat script.pl`;

    Attenzione agli apici inversi: ' questo è un apostrofo ` questo è l'apice inverso

  • exec
  • exit

    per uscire con successo

    exit 1; o qualsiasi valore diverso da 0

    esce senza successo.

    La differenza con die è che die viene utilizzato nei casi tipo "questo non sarebbe dovuto succedere".

  • exp
  • getpgrp
  • goto
  • grep
  • join
    $bah diventa "eek:niente:34"

    @array = ("uff", "abc", "foo");

    print (join(" ", @array, "eek"), "n");
    visualizza "uff abc foo eek"

  • keys
    $bla{'uff'} = "erp";
    @thekeys = keys(%bla);
    @thekeys è ("eek", "uff")
    print (join(" ", keys(%bla)), "n";);
    visualizza "eek uff"

  • kill
  • last
    last LINE if /^$/;
    esce quando ha terminato con gli headers
    .......
    il resto del ciclo
    }

  • lenght

    $l = $lenght($n);
    $l è 4

    print (lenght(34), "n");
    restituisce 2

  • link

  • local
    dichiara $variabile locale

    local (@array, %hash);
    dichiara la lista di variabili locali

    local $var = "valore";
    dichiara $var locale e le assegna un valore

    Per una trattazione più completa, si veda la sezione 'Temporary Values via local()' in man perlsub.

  • log
  • mkdir

    o meglio:

    if (!mkdir("files", 0755)) {
    die "failed to create directoryn";
    }

  • my
  • next
    next LINE if /^#/;
    altro
    }

  • oct
  • open
  • con <
  • con >>
  • con >>
  • con + < >
  • se inizia con |
  • se termina con |
    Apre il file

    open log >> /tmp/log
    Apre il file log e ne passa il contenuto a /tmp/log, senza sovrascriverlo

    open <file;
    Apre il file per la modifica

    open(FILE, "<miofile;");
    Come sopra, solo che poi sarà possibile agire su FILE

  • pop
  • print
    quante volte vedrete questo esempio!

    $bla = 3
    print "Il valore di 'bla' è $blan";
    visualizza "il risultato di 'bla è 3"

  • push

    $arr = "xterm";

    push(@bla, "eek", $arr, 12.5)
    @bla risulta ( "a","eek", $arr, 12.5);

  • quotemeta

    rand

  • readlink
  • rename
  • rmdir rmdir "temp_dir";

  • shift
    $v = shift @bla;
    # @bla è ("xterm", 12.5) e $v è "a"

  • sin
  • sleep
  • split
  • sqrt
  • symlink

    Nei sistemi che non prevedono i link simbolici, la funzione uscirà con un errore. In questo caso si veda la funzione link().

  • system

  • undef
    si sbarazza dell'hash %bla

    undef $eek;
    si sbarazza dello scalare $eek

    $eek = undef;
    come sopra

  • unlink
    unlink "tempfile", "altrifile";

  • unshift
    $arr = "xterm";
    unshift(@bla, "eek", $arr, 12.5); # @bla è ("eek", "xterm", 12.5,

  • warn

  • <>
    legge una linea in $_

    chop;
    esegue chop su n

    print "Hai scritto '$_'n";
    visualizza l'output, ovvero quello che si è digitato preceduto da "Hai scritto"

Ti consigliamo anche