substr(string, position, length, replacement);

La funzione substr consente di accedere a una parte specifica di una stringa, chiamata sottostringa.
E' necessario specificare il nome della stringa che contiene la sottostringa che si desidera estrarre.
Deve anche essere specificata la posizione della sottostringa. Perl determina la posizione di una sottostringa contando il numero di caratteri a partire dall'inizio della stringa. I caratteri in una stringa sono numerati a partire da zero (0).
Non dimenticate che se il valore della variabile speciale $[ è stato modificato, i caratteri della stringa non saranno numerati  a partire da zero (0).

Sebbene non sia necessario, è possibile comunicare all'interprete PERL la lunghezza di una sottostringa che si desidera estrarre. Se non si specifica la lunghezza di una sottostringa, la funzione substr restituirà una sottostringa che inizia nella posizione specifica e termina alla fine della stringa.

La funzione substr consente anche di specificare il testo di sostituzione per una sottostringa, che sarà utile quando si vorrà modificare il contenuto di una stringa. Il testo di sostituzione non deve avere la stessa lunghezza della sottostringa.
-> vedi Esempio 1

Quando si usa la funzione substr, si puo usare un numero negativo per specificare la posizione di una sottostringa. Se si specifica un numero negativo per la posizione di una sottostrina, Perl individua la sottostringa contando dalla fine della strina anziché dall'inizio.
E' possibile usare un numero negativo per specificare la lunghezza della sottostringa che si desidera estrarre.
Quando si usa un numero negativo, Perl rimuove quel numero di caratteri dalla fine della sottostringa.
-> vedi Esempio 2


Esempio 1:
#!usr/bin/perl
$string="Questa è una stringa";
print substr($string, 4); # stampa "ta è una stringa"
print "nn";
print substr($string, 4, 3); # stampa " ta "

Esempio 2:
#!/usr/bin/perl
$string="Questa è una stringa";
print substr($string, 0, -7);