Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    73

    eliminare underscore finali del valore di un parametro

    mi servirebbe una subroutine che passatogli il parametro mi cancella gli underscore finali

    es:

    RMNRTIRTU1_______________ => RMNRTIRTU1

    MEM_VTIRT2_______________________ => MEM_VTIRT2

    naturalmente deve essere parametrico, gli underscore non sono fissi!!!


    sto cercando di buttare giù qualcosa, ma per il momento non ottengo risultato!!!

    ho provato così

    codice:
    my $var='MEMV_IRTU1________________';
    $var=&eliminaUnderscore($var);
    print "$var";
    
    sub eliminaUnderscore {
    my $temp= shift;
    $temp=~ s/\__//g;
    $temp=~ s/\_//i;
    return $temp;
    }
    ma non va bene, perchè mi cancella il primo underscore oltre agli ultimi, lasciandone uno!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ti serve una routine, ti basta una RE:
    codice:
    my $str = "RMNRTIRTU1_______________"
    $str ~= s/_+//;
    (spero di non aver fatto errori di sintassi: sono andato a memoria e sono un po' arrugginito)
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    73
    Originariamente inviato da Mich_
    Non ti serve una routine, ti basta una RE:
    codice:
    my $str = "RMNRTIRTU1_______________"
    $str ~= s/_+//;
    (spero di non aver fatto errori di sintassi: sono andato a memoria e sono un po' arrugginito)
    grazie

    la tua soluzione è quasi giusta; oltre ad invertire i 2 caratteri = e ~, bisogna aggiungere un underscore in più, altrimenti mi cancella anche quello in mezzo

    codice:
    my $str = "RMNRTIRTU1_______________"
    $str =~ s/__+//;

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Avevo il dubbio sul ~= / =~ : me lo dimentico sempre.

    Non avevo capito che ce n'erano altri.
    Allora e` meglio usare:
    codice:
    $str =~ s/_+$//;
    altrimenti ti rimane un underscore se alla fine sono dispari.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    73
    grazie della risposta

    cmq provando anche l'altro metodo e facendo delle prove, funzionava ugualmente, cmq l'ultima soluzione è meglio

    curiosità: è possibile simulare all'interno di Perl un ambiente SQL??

    mi spiego: invece di connettermi al database mysql, vorrei simularlo all'interno di Perl

    esiste qualche libreria adatta??

    grazie per l'eventuali risposte

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    "simulare" non e` un termine che userei ... Soprattutto in un ambiente interpretato.

    Posso rispondere che Perl ha i moduli per connettersi direttamente a molti database. Io da Perl ho usato un DB CSV, ma sono sicuro che esiste anche per MySQL.
    Sul sito di Shishii (il moderatore di questo forum) trovi gli indirizzi per scaricare i moduli e le istruzioni relative (e tanto altro).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    73
    Originariamente inviato da Mich_
    "simulare" non e` un termine che userei ... Soprattutto in un ambiente interpretato.

    Posso rispondere che Perl ha i moduli per connettersi direttamente a molti database. Io da Perl ho usato un DB CSV, ma sono sicuro che esiste anche per MySQL.
    Sul sito di Shishii (il moderatore di questo forum) trovi gli indirizzi per scaricare i moduli e le istruzioni relative (e tanto altro).
    io già mi connetto ad un DB mysql installato su windows
    volevo sapere se c'era la possibilità di emulrlo all'interno, emulare un server come avviene per esempio in java

    stavo vedendo alcuni moduli come Mysql::SandBox, però non so

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.