Perl/Funzioni Native sulle variabili: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 179:
 
 
===substr===
'''substr''' Estrae (e sostituisce[REPLACEMENT]) una porzione di stringa(EXPR) in base alla posizione(OFFSET) della lunghezza passata(LENGTH).
 
'''NOTA:''' attenzione che substr può essere usato anche a sinistra di un assegnamento !.
 
Sintassi
#substr EXPR,OFFSET
#substr EXPR,OFFSET,LENGTH
#substr EXPR,OFFSET,LENGTH,REPLACEMENT
 
 
Esempio d'uso
<source lang="perl">
# 1 2 3 4 5
# 012345678901234567890123456789012345678901234567890123
my $a = 'il mio nome è james bond ed ho una vita movimentata';
print "\$a originale: $a\n";
my $da_20_in_poi = substr $a , 20; #contiene 'bond ed ho una vita movimentata'
my $da_20_a_34 = substr $a , 20 , 15; #contiene 'bond ed ho una '
my $da_20_a_23 = substr $a , 20 , 4; #contiene 'bond'
my $b = substr $a , 20 , 4 , 'TonT'; #contiene $b = 'bond' , $a = 'il mio nome è james TonT ed ho una vita movimentata'
my $c = substr ( $a , 20 , 4 ) = 'Smith';
print "da_20_in_poi:$da_20_in_poi\n";
print "da_20_a_34 :$da_20_a_34\n";
print "da_20_a_23 :$da_20_a_23\n";
print "\$a = $a\n";
print "\$b = $b\n";
print "\$c = $c\n";
</source>
 
'''NOTA:''' $da_20_a_34 contiene 15 caratteri , $da_20_a_23 contiene 4 caratteri , 'Smith' è più lungo di TonT
 
che produrrà:
 
$a originale: il mio nome è james bond ed ho una vita movimentata
da_20_in_poi: bond ed ho una vita movimentata
da_20_a_34 : bond ed ho una
da_20_a_23 : bond
$a = il mio nome è james Smith ed ho una vita movimentata
$b = bond
$c = Smit
 
 
'''NOTA:''' $c è il valore di substr ( $a , 20 , 4 ) dopo che è stato assegnato substr ( $a , 20 , 4 ) = 'Smith' ecco perchè manca la 'h'
 
substr - get or alter a portion of a stirng
reverse - flip a string or a list